約 3,634,131 件
https://w.atwiki.jp/subculture/pages/23.html
Tomcat plugin 0.はじめに 作業日 2007/11/6 [[eclipse]]のバージョン 3.3(Eclipse IDE for Java EE Developers) Tomcat Pluginのバージョン 3.2.1 1.http //www.eclipsetotale.com/tomcatPlugin.html にアクセスし、最新バージョン(ここでは「http //www.eclipsetotale.com/tomcatPlugin/tomcatPluginV321.zip」)をダウンロードする。 2.ダウンロードしたzipファイル(ここでは、ファイル名 「tomcatPluginV321.zip」)を解凍する。 3.解凍したフォルダ(ここでは、ファイル名 「com.sysdeo.eclipse.tomcat_3.2.1」)をeclipseのホーム/pluginに移動もしくはコピーする。 私の場合、「C \Program Files\eclipse\plugins」にコピー。 4.「-clean」オプションをつけて、eclipseを起動する。起動方法は以下の2通り。 4.1.コマンドプロンプトから起動する。 4.1.1.「スタート」メニュー 「すべてのプログラム」 「アクセサリ」 > 「コマンド プロンプト」を選択肢、コマンドプロンプトを開く。 (windowボタン + r から、「ファイル名を指定して実行」というダイアログを開き、「cmd」と入力してもよい。) 4.1.2.eclipseを保存したフォルダに移動し、eclipseを実行する。 eclipseのホームが「C \Program Files\eclipse」だとすると、次のようにする。 cd "C \Program Files\eclipse" eclipse.exe -clean コマンドプロンプトは、次のコマンドで終了する。 exit 4.2.eclipseのショートカットにオプションをつける。 ※ショートカットの設定を元に戻し忘れる可能性があるのであまりお勧めしない。 4.2.1.eclipseのショートカットを右クリックし、「プロパティ」を右クリックする。 4.2.2.「リンク先」という項目の一番後ろに、半角スペースを入れて「-clean」を追加し、「OK」をクリックする。 4.2.3.ショートカットをダブルクリックし、eclipseを起動する。 4.2.4.一度起動したら、ショートカットを元に戻す。 5.eclipseが起動したら、上部のツールバーにtomcatのアイコンがあることを確認する。 6.アイコンがない場合 6.1.上部の「window」メニュー 「Customize Perspective...」をクリックする。 6.2.「Commands」タブを選択し、「Tomcat」にチェックを入れる。 「OK」をクリックしたら、アイコンが現れる。
https://w.atwiki.jp/m_shige1979/pages/681.html
Tomcat設定 メニューより「ファイル」→「その他」を選択してウィザードを開く ウィザードよりサーバを選択する サーバの情報入力で、「tomcat6.0」を選択 tomcatのインストールディレクトリとJREを選択する 終了を押下する ワークスペースを開き、サーバがあることを確認する
https://w.atwiki.jp/shin-b/pages/25.html
mod_proxy_ajp を使用して Apache と連携する (2007/07/12) 動作環境 このページでは以下の環境での動作を説明しています。 Debian Linux Etch Apache2.2.3 Tomcat5.5 J2SDK 5.0 Update10 mod_proxy_ajp 今まで、ApacheとTomcatの連携といえばmod_jkを使用するのが一般的でした。しかし、最近のApacheにはmod_proxy_ajpというモジュールが標準で付属し、これを用いて連携が行えるようになりました。 mod_proxy_ajpは単体ではなくmod_proxyと連係することで動作します。 設定 設定はmod_jkを用いたものより、簡易になっています。 /etc/apache2/mods-availableに、新規にproxy_ajp.confファイルを作成します。 IfModule mod_proxy_ajp.c Location /jsp-examples/ ProxyPass ajp //localhost 8009/jsp-examples/ /Location /IfModule デフォルトのmod_proxyの設定は、全拒否になっていますので修正します。 IfModule mod_proxy.c #turning ProxyRequests on and allowing proxying from all may allow #spammers to use your proxy to send email. ProxyRequests Off Proxy * AddDefaultCharset off Order deny,allow Deny from all #Allow from .example.com Allow from 192.168.1.0/255.255.255.0 /Proxy # Enable/disable the handling of HTTP/1.1 "Via " headers. # ("Full" adds the server version; "Block" removes all outgoing Via headers) # Set to one of Off | On | Full | Block ProxyVia On /IfModule mod_proxy_ajpを有効にします。 debian ~# a2enmod proxy_ajp Tomcat でクラスタリングを構成する (2007/07/12) 動作環境 このページでは以下の環境での動作を説明しています。 Debian Linux Etch Tomcat5.5 J2SDK 5.0 Update10 クラスタリングとは クラスタリングとは複数のマシンを連携させることで、処理速度、稼働時間を向上させる技術です。クラスタリング構成がされたシステムは外部から見た場合、一台のマシンと同様に動作します。 Tomcatにおいてクラスタリングを行うことで、複数のTomcat間でセッション内の情報を同期するようになります。 設定 Tomcatをそれぞれ複数のマシンで動作させる場合、設定は簡易です。/etc/tomcat5.5/server.xmlの Cluster縲廚luster のコメントアウトを外すだけ設定が完了します。 もし、一台のマシンで複数のTomcatを動かしてクラスタリングを試してみたいという場合は、ポート番号が当たってしまうため、ずらす必要性があります。具体的には Cluster → Receiver のtcpListenPortおよび、 Server のport。 Connector の各種ポート番号の変更が必要でしょう。 設定を終えてTomcatをそれぞれ起動すると、マルチキャストで通信しあってお互いを見つけ出し、自動的にクラスタリングを構成します。 Tomcatクラスタリングの注意点 オブジェクトをセッションに格納する 異なるTomcat間でセッションに格納されたオブジェクトを共有できると言うことは、それらのオブジェクトが複製可能であることを意味します。そのため、セッションに格納するオブジェクトはSerializableインターフェイスをインプリメントしておく必要があります。つまりセッションの同期化とはオブジェクトの直列化を利用してセッション内のオブジェクトを送受信し、コピーしあうことと言えます。 クラスタリング下のTomcatではSession#setAttributeでセッションに格納したオブジェクトをSession#getAttributeで取り出したとしても、そのオブジェクトの同一性は保証されません。 request.getSession().setAttribute("shareData", data); data2 = request.getSession().getAttribute("shareData"); if (data == data2) { // ここがtrueになるとは限らない System.out.println("same object"); } またSessionオブジェクト自体の同一性も保証されません。 セッション同期のタイミング Tomcatのクラスタリングではセッション内の情報は、常に監視されていているわけではありません。セッションが同期するタイミングが存在します。 セッション同期のタイミングはserver.xmlでの設定によって変更されます。 Cluster 要素の属性値であるuseDirtyFlagがそれです。useDirtyFlagが"true"の場合、SessionオブジェクトのgetAttributeメソッドおよびremoveAttributeが呼ばれたときに同期化が行われます。"false"の場合、リクエストの最後にセッションの同期化処理が行われます。 クラスタ構成の Tomcat をApacheでロードバランスする (2007/07/18) 動作環境 このページでは以下の環境での動作を説明しています。 Debian Linux Etch Apache2.2.3 Tomcat5.5 J2SDK 5.0 Update10 ロードバランサの必要性 Tomcatでクラスタリングを行うことで、セッション情報の共有が行われます。これによって使用中のTomcatがダウンしても、別のTomcatに接続することでセッションを継続することができるはずです。 しかし、これは現実的でありません。使用中のTomcatが動作を停止したとき、ユーザーはブラウザのURLを手で書き換えて稼働中のTomcatに明示的につなぎに行く必要があります。しかも、通常セッションIDはcookieに格納されています。これではURLが変更した場合セッションIDが取得できません。つまり、cookieが無効になっていてURLにセッションIDが組み込まれているときに、手作業でURLを書き換えることでしか、セッションを継続できません。 そこで、Apacheをロードバランサとして使用することで、この問題を解決します。Apacheを中継することで接続先のURLはApacheのURLのみとなります。障害時にはApacheがTomcatサーバの死活を判断し、動作しているTomcatに処理を割り振ります。 mod_proxy_balancer Tomcatのロードバランスには以下のモジュールを使用します。 mod_proxy mod_proxy_ajp mod_proxy_balancer mod_proxyの設定はmod_proxy_ajp を使用して Apache と連携するを参考にしてください。 ロードバランサの設定はproxy_ajp.confに記述することにします。 IfModule mod_proxy_ajp.c IfModule mod_proxy_balancer.c Location /ClusterSample/ ProxyPass balancer //ClusterSample/ nofailover=Off /Location Proxy balancer //ClusterSample/ BalancerMember ajp //192.168.0.1 8009/ClusterSample/ loadfactor=10 BalancerMember ajp //192.168.0.2 8009/ClusterSample/ loadfactor=10 /Proxy /IfModule /IfModule StickySession 以上の設定でTomcatを動作させると、毎回アクセスするサーバーが変更されます。(JSPに各々サーバ名を記述するなどして、どのサーバを使用して表示されてるいるのかわかるようにしてみてください) しかし、最初に使用したサーバを使用し続け、障害時にのみ別のサーバに切り替わるようにしたい場合もあると思います。その場合はStickySessionを利用することで実現できます。 proxy_ajp.confに設定を追加します。 IfModule mod_proxy_ajp.c IfModule mod_proxy_balancer.c Location /ClusterSample/ ProxyPass balancer //ClusterSample/ stickysession=JSESSIONID nofailover=Off /Location Proxy balancer //ClusterSample/ BalancerMember ajp //192.168.0.1 8009/ClusterSample/ loadfactor=10 route=jvm1 BalancerMember ajp //192.168.0.2 8009/ClusterSample/ loadfactor=10 route=jvm2 /Proxy /IfModule /IfModule stickysessionにJSESSIONIDを指定していますが、これはURLやcookie内のJSESSIONIDの後にピリオドを付加して、その後ろにrouteの文字列を付加することでサーバを割り振るための設定です。 ここで注意すべきなのは、JSESSIONIDにrouteの文字列を付加するのはmod_proxy_balancerの仕事ではないということです。mod_proxy_balancerは文字列を読み取ってサーバを割り振ることだけしかしません。 それではどのようにしてJSESSIONIDを加工するのでしょうか。実はTomcatにその設定があります。 1台目のserver.xmlに設定を追加します。 !-- An Engine represents the entry point (within Catalina) that processes every request. The Engine implementation for Tomcat stand alone analyzes the HTTP headers included with the request, and passes them on to the appropriate Host (virtual host). -- !-- You should set jvmRoute to support load-balancing via AJP ie Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1" !-- Define the top level container in our container hierarchy -- Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1" !-- The request dumper valve dumps useful debugging information about the request headers and cookies that were received, and the response headers and cookies that were sent, for all requests received by this instance of Tomcat. If you care only about requests to a 2台目のserver.xmlにも設定を追加します。 !-- An Engine represents the entry point (within Catalina) that processes every request. The Engine implementation for Tomcat stand alone analyzes the HTTP headers included with the request, and passes them on to the appropriate Host (virtual host). -- !-- You should set jvmRoute to support load-balancing via AJP ie Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1" !-- Define the top level container in our container hierarchy -- Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2" !-- The request dumper valve dumps useful debugging information about the request headers and cookies that were received, and the response headers and cookies that were sent, for all requests received by this instance of Tomcat. If you care only about requests to a これで、JSESSIONIDの後ろに.jvm1もしくは.jvm2といった文字列が付加されるようになります。 StickySessionの問題点 StickySessionを利用する上で、困った問題があります。上記ではstickysession=JSESSIONIDのように設定していますが、文字列("JSESSIONID")の大文字小文字を区別してしまうのです。 これがなぜ問題かというと、Tomcatでは普通、CookieにJSESSIONIDという名前の項目でセッションIDを保存します。しかし、Cookieが無効な場合URLにセッションIDを組み込むのですが、このときはjsessionidと小文字になってしまうのです。 大文字のJSESSIONIDと小文字のjsessionid、両方に対応するような設定は現状では記述できませんので、どちらかをあきらめなければなりません。 ※負け組SEの日常(http //makegumi.jp/blog/2007/06/mod_proxy_balancerstickysessio.html)様で、この問題に対応するパッチが公開されています。
https://w.atwiki.jp/m_shige1979/pages/633.html
機能設定 ディレクトリ構成 TomcatPath(Tomcatをインストールしたディレクトリ) | --webapps | --project(プロジェクトのディレクトリ) | |-- WEB-INF |-- classes(classファイルを格納) |-- lib(jarファイルを格納) -- web.xml web.xml(サンプル) ?xml version="1.0" encoding="ISO-8859-1"? web-app xmlns="http //java.sun.com/xml/ns/javaee" xmlns xsi="http //www.w3.org/2001/XMLSchema-instance" xsi schemaLocation="http //java.sun.com/xml/ns/javaee http //java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5" servlet servlet-name sample01 /servlet-name servlet-class sample01 /servlet-class /servlet servlet-mapping servlet-name sample01 /servlet-name url-pattern /servlet/sample01 /url-pattern /servlet-mapping /web-app
https://w.atwiki.jp/chapati4it/pages/505.html
[Java???]Tomcatのサーブレットを通じてファイルをダウンロードするサンプルです。 ■目次 ファイルの配置 ダウンロードサーブレット(DownloadServlet.java) web.xmlの設定 解説 ブラウザでアクセス その他のTomcatサンプル ファイルの配置 /CONTEXT_ROOT ┗ WEB-INF ┣ src ┃┗ DownloadServlet.java ┗ web.xml ダウンロードサーブレット(DownloadServlet.java) import java.io.*; import java.net.*; import javax.servlet.*; import javax.servlet.http.*; import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeUtility; public class DownloadServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // POSTメソッドでアクセスが来てもGETメソッドで全部処理します。 doGet(req, resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // ファイル名設定 // リクエストパスからファイル名を取得 String orgFileName = new String(req.getPathInfo().substring(1).getBytes("ISO-8859-1"), "UTF-8"); String fileName; // リクエストヘッダからユーザーエージェント(ブラウザの名前)取得 String ua = req.getHeader("user-agent"); if (ua.contains("MSIE")) { // IE用ファイル名エンコード fileName = URLEncoder.encode(orgFileName, "UTF-8"); } else { // IE以外(FireFox,Safari,Chrome)ファイル名エンコード fileName = MimeUtility.encodeWord(orgFileName, "ISO-2022-JP", "B"); } // レスポンスヘッダー設定 if (ua.contains("Safari")) { // サファリ用 resp.setContentType("application/octet-stream;"); } else { // サファリ以外用 resp.setContentType("text/csv; charset=UTF-8;"); resp.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); } // ファイル名デコード String decFileName = URLDecoder.decode(orgFileName, "UTF-8"); ServletOutputStream os = resp.getOutputStream(); String dir = "/home/tomcat/dat/"; File p = new File(dir); String path = dir + decFileName; File f = new File(path); if (!f.exists()) { // ファイルがない場合404 resp.setStatus(404); } else if (!f.getParentFile().equals(p)) { // 許可したディレクトリ以外へのアクセスは403 // 必要な場合、ログインユーザーごとにアクセスできるファイルの制御も行います。 resp.setStatus(403); } else { // ファイルがあれば読み込んでレスポンスに突っ込む BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f)); byte[] buff = new byte[500]; int len; while ((len = bis.read(buff)) 0) { os.write(buff, 0, len); } bis.close(); os.flush(); } } } web.xmlの設定 ?xml version="1.0" encoding="ISO-8859-1"? web-app xmlns="http //java.sun.com/xml/ns/javaee" xmlns xsi="http //www.w3.org/2001/XMLSchema-instance" xsi schemaLocation="http //java.sun.com/xml/ns/javaee http //java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" !-- サーブレットの宣言 -- servlet servlet-name down /servlet-name servlet-class DownloadServlet /servlet-class /servlet !-- サーブレットとurlのマッピング -- servlet servlet-name down /servlet-name servlet-class DownloadServlet /servlet-class /servlet /web-app 解説 このサンプルは、サーブレットにアクセスしたファイル名と、「/home/tomcat/dat/」のディレクトリ名をがっちゃんこして、ファイルがあればレスポンスにファイルを詰め込んでダウンロード、ファイルがなければ404エラー、ファイルがあってもディレクトリ名が許可したディレクトリ名でなければ403エラーにするサンプルです。日本語のファイル名でもダウンロードできます。 ブラウザでアクセス 「/home/tomcat/dat/」にファイルを配置して、 「http //localhost 8080/CONTEXT_ROOT/down/ファイル名」にアクセスすると、ブラウザのダウンロード処理が動きます。 「http //localhost 8080/CONTEXT_ROOT/down/存在しないファイル名」にアクセスすると、404エラーになります。 「/home/tomcat/dat/hoge/」というディレクトリを作ってファイルを配置して、 「http //localhost 8080/CONTEXT_ROOT/down/hoge/ファイル名」にアクセスすると、403のステータスコードを返しアクセスエラーになります。 その他のTomcatサンプル Tomcatサンプル Tomcatメモ Tomcat7.0.37のインストールとeclipseの設定(Windows) サーブレットを作ってみる Tomcat7のインストールとwarファイルのデプロイ(ubunts12.04) warファイルをdotcloudにデプロイ サーブレットからJSPに遷移するサンプル サーブレットからCSVファイルをダウンロードするサンプル サーブレットからCSVファイルをダウンロードするサンプル(日本語ファイル名) サーブレットからファイルをダウンロードするサンプル(日本語ファイル名) Basic認証(UserDatabaseRealm)+DIGEST認証 JFreeChartで動的にグラフを出力するサンプル ファイルをアップロードするサンプル(Commons FileUplaod) クロスサイトスクリプティング脆弱性を体験してみるサンプル
https://w.atwiki.jp/kurushima/pages/94.html
Tomcatへの証明書(と鍵)インストール方法 証明書発行サービス各社さんや、Tomcat本家でのインストール方法リンク。 godaddy opensslでチェーン入りを作る★ http //help.godaddy.com/article/5239 globalsign jksにimport追加する http //www.globalsign.com/support/install/install_tomcat.php digicert http //www.digicert.com/ssl-certificate-installation-tomcat.htm tomcat-4.1 http //tomcat.apache.org/tomcat-4.1-doc/ssl-howto.html geocerts http //www.geocerts.com/install/tomcat RapidSSL http //www.rapidssl.com/ssl-certificate-support/install-ssl-certificate/jakarta_tomcat.htm Apache Tomcat 6.0 - SSL Configuration How-To (本家) http //tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html lighttpdのSSL設定 http //d.hatena.ne.jp/japanrock_pg/20070920/1190260452 ★ http //redmine.lighttpd.net/wiki/1/Docs SSL http //www.atmarkit.co.jp/flinux/rensai/linuxtips/846lighttpdssl.html わかりにくい
https://w.atwiki.jp/shells/pages/61.html
前提条件 ソース置き場所 JSP C \Tomcat 5.5\webapps\kenshu\IT\JSP_(各章の番号等) web.xml C \Tomcat 5.5\webapps\kenshu\WEB-INF servlet C \Tomcat 5.5\webapps\kenshu\WEB-INF\classes 詳細 【HP】 1章 サーブレット/JSPの役割を理解する 2章 サーブレット/JSPをほかの言語と比較する 3章 サーブレット/JSPの開発環境を作る 4章 JSPの基本構文を理解する 5章 JSPの基本「暗黙オブジェクト」を使う 6章 JSPの基本「暗黙オブジェクト」をさらに極める 7章 Javaのクラスライブラリを攻略「基本クラス編」 8章 Javaのクラスライブラリを攻略「ユーティリティ編」 9章 Javaでファイルや画像を扱う方法を知る 10章 クラスライブラリを攻略「データベース編」 11章 JSPとサーブレットの違いを明らかにする 12章 JavaBeansのルールを知る 13章 JavaBeansをサーブレット/JSPから利用する 戻る
https://w.atwiki.jp/chapati4it/pages/143.html
サーブレットから直接CSVファイルをダウンロードするサンプルです。 配列の内容をCSV出力するだけの簡単なサンプルです。 お仕事では、データベースの検索キーなどをパラメータで受け取って、検索結果をCSV出力する事が多いと思います。 そんなサンプルもそのうち作ろうと思います。 日本語ファイル名対応はこちら → 日本語ファイル名対応のCSV出力サンプル ファイルの配置 /CONTEXT_ROOT ┣ WEB-INF ┃┣ src ┃┃┗ DynamicCsvServlet.java ┃┗ web.xml ┗ jsp ┗ dynamic_csv.jsp DynamicCsvServlet.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DynamicCsvServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // POSTメソッドでアクセスが来てもGETメソッドで全部処理します。 doGet(req, resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // CSV出力用データ String[][] rows = { { "0", "ダイナミック", "dynamic@example.com" }, { "1", "ホゲ", "hoge@example.com" }, { "2", "モゲ", "moge@example.com" }, { "3", "マゲ", "mage@example.com" }, { "4", "フゥ", "foo@example.com" }, { "5", "バァ", "bar@example.com" }, { "6", "グゥ", "goo@example.com" } }; // 文字コード設定 resp.setContentType("text/html; charset=UTF-8"); // ファイル名設定(ファイル名を設定しないと、htmlとして画面に表示されてしまいます resp.setHeader("Content-Disposition", "attachment; filename=\"dynamic.csv\""); // CSVデータ作成 StringBuffer sb = new StringBuffer(); for (String[] row rows) { for (int i = 0; i row.length; i++) { if (i == 0) { sb.append("\""); } else { sb.append("\",\""); } sb.append(row[i]); if (i == row.length - 1) { sb.append("\"\n"); } } } // レスポンスにCSV出力 PrintWriter w = resp.getWriter(); w.print(sb.toString()); w.flush(); } } アクセスされると、ファイルではなくHttpServletResponseに直接CSVを出力するサーブレットです。 CSVダウンロードのために、文字コード、ファイル名を設定しています。 HttpServletResponseにファイル名とコンテンツ(CSV文字列)を与える事で、ブラウザはCSVファイルのダウンロードだと認識します。 // 文字コード設定 resp.setContentType("text/html; charset=UTF-8"); ここで、出力するCSVの文字コードを「UTF-8」に指定しています。 他の文字コードにする場合「UTF-8」の部分を修正します。 // ファイル名設定(ファイル名を設定しないと、htmlとして画面に表示されてしまいます resp.setHeader("Content-Disposition", "attachment; filename=\"dynamic.csv\""); ここで、ダウンロードするファイル名を設定しています。 ファイル名を設定しないと、ブラウザにhtmlとしてCSVの文字列が表示されてしまいます。 web.xml ?xml version="1.0" encoding="ISO-8859-1"? web-app xmlns="http //java.sun.com/xml/ns/javaee" xmlns xsi="http //www.w3.org/2001/XMLSchema-instance" xsi schemaLocation="http //java.sun.com/xml/ns/javaee http //java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" !-- サーブレットの宣言 -- servlet servlet-name dynamiccsvservlet /servlet-name servlet-class DynamicCsvServlet /servlet-class /servlet !-- サーブレットとurlのマッピング -- servlet-mapping servlet-name dynamiccsvservlet /servlet-name url-pattern /dynamiccsvservlet /url-pattern /servlet-mapping /web-app サーブレットの宣言とURLのマッピングです。 この時点で、Tomcatを起動して「http //localhost 8080/CONTEXT_ROOT/dynamiccsvservlet」にアクセスすると、CSVファイルのダウンロードダイアログが出てくると思います。 ※ブラウザの種類や設定によって動作が違います。 dynamic_csv.jsp %@ page language="java" contentType="text/html; charset=UTF8" pageEncoding="UTF-8" % html body 動的CSVダウンロード(GET): a href= %=request.getContextPath()+"/dynamiccsvservlet"% %=request.getContextPath()+"/csvservlet"% /a br form action= %=request.getContextPath()+"/dynamiccsvservlet"% method= GET input type="submit" value="動的CSVダウンロード(POST)" / /form /body /html 動的にCSVを出力するサーブレットへのリンクとフォームを表示するJSPです。 ブラウザに直接URL入力してもアクセス出来ますが、せっかくだからJSPも用意しました。 request.getContextPath() これは、Webアプリのコンテキストパスを出力してくれるメソッドです。 これに続けてサーブレットマッピングで指定したURLを記入すると、リンククリックやサブミットボタンでサーブレットにアクセス出来るのです。 ブラウザでアクセス 「http //localhost 8080/CONTEXT_ROOT/jsp/dynamic_csv.jsp」にアクセスすると、ダウンロードのリンクが表示されて、リンククリック、ボタンクリックでブラウザのダウンロード処理が動きます。 他のTomcatサンプルはこちら Tomcatサンプル Tomcatメモ Tomcat7.0.37のインストールとeclipseの設定(Windows) サーブレットを作ってみる Tomcat7のインストールとwarファイルのデプロイ(ubunts12.04) warファイルをdotcloudにデプロイ サーブレットからJSPに遷移するサンプル サーブレットからCSVファイルをダウンロードするサンプル サーブレットからCSVファイルをダウンロードするサンプル(日本語ファイル名) サーブレットからファイルをダウンロードするサンプル(日本語ファイル名) Basic認証(UserDatabaseRealm)+DIGEST認証 JFreeChartで動的にグラフを出力するサンプル ファイルをアップロードするサンプル(Commons FileUplaod) クロスサイトスクリプティング脆弱性を体験してみるサンプル コメント 345 - WEE 2015-07-24 14 31 32 WEE - 345 2017-09-07 18 23 17 名前
https://w.atwiki.jp/yurupuro/pages/26.html
ApacheとTomcatの構成について ポート80番になんらかの要求があると基本的にApacheが応答する。 要求URLがApacheの設定ファイルでTomcatを参照するようになっていると、 Tomcatに要求を丸投げし、Tomcatからの応答をそのままユーザーに返す。 ApacheとTomcatの役割分担 Apache側では静的なページ(htmlとか)へのアクセスの応答。 Tomcat側では動的なページ(servletとか)へのアクセスの処理。
https://w.atwiki.jp/paladin/pages/15.html
Tomcat、初期設定等のメモ書き ■環境 WindowsXP Professional Tomcat Version:Apache Tomcat 5.5.26 ■設定内容 インストールは特に設定変更せず、デフォルトのまま 環境変数:CATALINA_HOME を設定 参考にしたページ @IT JSP Servlet Tomcatに関連する記事